//import com.trilead.ssh2.Connection;
//import com.trilead.ssh2.Session;
//import io.agora.recording.RecordingSDK;
//import io.agora.recording.common.Common;
//import io.agora.recording.common.RecordingConfig;
//import io.agora.recording.common.RecordingEngineProperties;
//import org.junit.Test;
//
//import java.io.*;
//import java.util.ArrayList;
//import java.util.List;
//
///***
// *  @description
// *  @author zhao
// *  @date: 2020/7/12
// *  @version: v1.0
// */
//public class MyAgo
//{
//
//	@Test
//	public void test12()
//	{
//
////		String command = "pwd";
////		String[] commands = {"cd ~ && pwd"};
//		String commands="cd ~ && pwd";
////		List<String> strings = ShellUtils.doRun(commands);
////		System.out.println(strings);
//
//
//	}
//
//
//	@Test
//	public void test11() throws IOException
//	{
//		Connection conn = new Connection("60.205.202.107");
//		conn.connect();
//		conn.authenticateWithPassword("root", "duyu88888");
//		Session session = conn.openSession();
////		session.execCommand("cd ~ && pwd");
//		session.execCommand("source /test.sh 39");
//		//client.rm("/apps/123/Nero.exe");
//		InputStream inp = session.getStdout();
//		InputStreamReader reader = new InputStreamReader(inp);
//		BufferedReader br = new BufferedReader(reader);
//
//		String line = br.readLine();
//		System.out.println(line);
////		.execCommand("cd ~ && pwd");
//	}
//
//
//	/**
//	 * 运行shell并获得结果，注意：如果sh中含有awk,一定要按new String[]{"/bin/sh","-c",shStr}写,才可以获得流
//	 *
//	 * @param shStr
//	 *            需要执行的shell
//	 * @return
//	 */
//	public static List<String> runShell(String shStr) {
//		List<String> strList = new ArrayList<String>();
//		try {
//			Process process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",shStr},null,null);
//			InputStreamReader ir = new InputStreamReader(process.getInputStream());
//			LineNumberReader input = new LineNumberReader(ir);
//			String line;
//			process.waitFor();
//			while ((line = input.readLine()) != null){
//				strList.add(line);
//			}
//		} catch (Exception e) {
//			e.printStackTrace();
//		}
//		return strList;
//	}
//
//	@Test
//	public void test21() throws IOException
//	{
//
//		//ShellUtils.doRun("ls");
//		String cdPath = "";
//		String path="path";
//		String recordingSample="RecordingSample";
//		String appId="appId";
//		String channel="channel";
//		String uid="uid";
//		String channelProfile="channelProfile";
//		String appliteDir="appliteDir";
//		String recordFileRootDir="recordFileRootDir";
//
//		String cmd = "cd %s && java -Djava.library.path=%s  %s --appId %s --channel %s --uid %s --channelProfile %s --appliteDir %s  -recordFileRootDir %s";
//		String results = String.format(cmd, cdPath, path, recordingSample, appId, channel, uid, channelProfile, appliteDir, recordFileRootDir);
//		System.out.println(results);
////		ShellUtils.doRun("cd /Users/zhao && ls-lh");
//
//
//	}
//
//	@Test
//	public void test1(){
//
//		String appid="63ee811e7c1f4859848314ff1cd61fdf";
//		String channelKey="";
//		String name="39";
//		int uid=0;
//
//
//		final RecordingSDK recordingSDK = new RecordingSDK();
//		final Common common = new Common();
//		final Common.VideoMixingLayout videoMixingLayout =  common.new VideoMixingLayout();
//		videoMixingLayout.canvasWidth = 1000;
//		videoMixingLayout.canvasHeight = 1000;
//		videoMixingLayout.backgroundColor = "#2B2B2B";
//		/**
//		 * 频道内显示用户（通信模式）/主播（直播模式）头像或视频的数量。
//		 */
//		videoMixingLayout.regionCount = 5;
//		System.out.printf("recordingSDK",recordingSDK);
//		RecordingConfig recordingConfig = init();
//		int logLevel = 6;
//		System.out.printf("参数%s,%s,%s,%s,%s,%s%n",appid, channelKey, name, uid, recordingConfig, logLevel);
//		boolean channel = recordingSDK.createChannel(appid, channelKey, name, uid, recordingConfig, logLevel);
//		System.out.println("----------开始录制------------");
//		System.out.println("----------" + channel + "-----------");
//		final int i = recordingSDK.setVideoMixingLayout(videoMixingLayout);
//		System.out.println("----------设置合流布局---------------");
//		System.out.println("----------" + i + "----------------");
//		final RecordingEngineProperties properties = recordingSDK.getProperties();
//
//	}
//
//	private RecordingConfig  init(){
//		RecordingConfig recordingConfig = new RecordingConfig();
//		/**
//		 * 设置录制属性
//		 */
//		// 打开合流录制
//		recordingConfig.isMixingEnabled = true;
//		// 设置录制模式 成功MP4文件 音视频混合录制
//		recordingConfig.mixedVideoAudio = Common.MIXED_AV_CODEC_TYPE.MIXED_AV_CODEC_V2;
//		// 设置AgoraCoreServices 存放的目录
//		recordingConfig.appliteDir = "/Users/zhao/temp/video";
//		/**
//		 * 设置录制文件存放的根目录。默认值为 NULL。
//		 * 设置该参数后，会按照录制日期自动生成子目录保存录制文件。
//		 */
//		recordingConfig.recordFileRootDir = "/Users/zhao/temp/video";
//		/**
//		 * 设置视频类型
//		 * JPG 文件格式 + MP4 视频文件格式。
//		 * 单流模式 (isMixingEnabled 为 false) 下，录制得 MP4 视频文件，并截图获得 JPG 文件。
//		 * 合流模式 (isMixingEnabled 为 true) 下，对合流录制，得到 MP4 视频文件，并对各单流截图，获得 JPG 文件。
//		 */
//		recordingConfig.decodeVideo = Common.VIDEO_FORMAT_TYPE.VIDEO_FORMAT_JPG_VIDEO_FILE_TYPE;
//		/**
//		 * 设置最低 UDP 端口。高 UDP 端口与低 UDP 端口差值不能小于 6。
//		 */
//		recordingConfig.lowUdpPort = 31000;
//		/**
//		 * 设置最高 UDP 端口。高 UDP 端口与低 UDP 端口差值不能小于 6。
//		 */
//		recordingConfig.highUdpPort = 31001;
//		/**
//		 * 设置空闲频道的超时退出时间。该值需大于等于 3 秒，默认值为 300 秒。
//		 *
//		 * 该值需大于等于 3 秒。录制时，如果频道空闲（无用户）超过设定的时间，录制端自动退出频道，停止录制。
//		 *
//		 * 该段时间也会纳入计费。
//		 * 通信场景下，如果频道内有用户，但用户没有发流，不算作无用户状态。
//		 * 直播场景下，如果频道内有观众但无主播，一旦无主播的状态超过 idleLimitSec，录制程序会自动退出。
//		 */
//		recordingConfig.idleLimitSec = 3;
//
//		/**
//		 * 设置频道模式为直播模式
//		 */
//		recordingConfig.channelProfile = Common.CHANNEL_PROFILE_TYPE.CHANNEL_PROFILE_LIVE_BROADCASTING;
//		return recordingConfig;
//	}
//}
